home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fatted Calf
/
The Fatted Calf.iso
/
Applications
/
Audio
/
Patchmix
/
XWindowsSource
/
instfm.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-03-28
|
1KB
|
57 lines
#include "/musr/cmix/H/ugens.h"
#include "/musr/cmix/H/sfheader.h"
#include <stdio.h>
#include <sys/file.h>
#include <sys/types.h>
extern SFHEADER sfdesc[NFILES];
inst1(p,n_args)
float *p; /* array of p-fields */
int n_args; /* number of p-fields */
{
int nsamps,i,chans;
int len1;
int wave1;
float ug1;
float amp1;
float si1;
float sifm2; /* new */
float phase1;
float *f1;
int len2;
int wave2;
float ug2;
float amp2;
float si2;
float phase2;
float *f2;
float amp;
float out[2];
nsamps = setnote(p[0],p[1],0);
chans = sfchans(&sfdesc[0]);
wave1 = 1;
si1 = 1.00*fsize(1)/SR;
phase1 = 0.;
len1 = fsize(wave1);
f1 = (float *)floc(wave1);
wave2 = 1;
si2 = 440.00*fsize(1)/SR;
phase2 = 0.;
len2 = fsize(wave2);
f2 = (float *)floc(wave2);
for(i = 0; i < nsamps; i++) {
amp1 = 1.;
ug1 = oscili(50*amp1,si1,f1,len1,&phase1);
amp2 = 1.;
sifm2 = si2 +ug1*len2/SR;
ug2 = oscilni(amp2,sifm2,f2,len2,&phase2);
out[0] = ug2;
out[1] = out[0];
ADDOUT(out,0);
}
endnote(0);
}